﻿namespace Koala.Pro.Core.Dto;

public class UserPagedDto : PagedAndSortedInputDto, IPagedAndSortedResultRequest, IPagedResultRequest, ILimitedResultRequest, ISortedResultRequest
{
    public virtual int? ExcludeId { get; set; }

    public virtual int? ID { get; set; }

    public virtual int? PID { get; set; }

    public virtual string? HandNo { get; set; }

    public virtual string? Name { get; set; }

    public virtual string? Password { get; set; }

    public virtual string? FullName { get; set; }

    public virtual string? Nickname { get; set; }

    public virtual bool? IsExpire { get; set; }

    public virtual DateTime? ExpireDateStart { get; set; }

    public virtual DateTime? ExpireDateEnd { get; set; }

    public virtual string? Title { get; set; }

    public virtual string? IdentityCard { get; set; }

    public virtual string? MobilePhone { get; set; }

    public virtual string? OfficePhone { get; set; }

    public virtual string? HomePhone { get; set; }

    public virtual string? Email { get; set; }

    public virtual string? Address { get; set; }

    public virtual string? WorkAddr { get; set; }

    public virtual string? Gender { get; set; }


    public virtual DateTime? BirthdayStart { get; set; }

    public virtual DateTime? BirthdayEnd { get; set; }

    public virtual int? AgeStart { get; set; }

    public virtual int? AgeEnd { get; set; }

    public virtual string? QQ { get; set; }

    public virtual string? Signature { get; set; }

    public virtual string? AuditStatus { get; set; }

    public virtual string? Note { get; set; }

    public virtual string? CustomField { get; set; }

    public virtual string? Dept_ID { get; set; }

    public virtual string? DeptName { get; set; }

    public virtual string? Company_ID { get; set; }

    public virtual string? CompanyName { get; set; }

    public virtual string? SortCode { get; set; }

    public virtual string? Creator { get; set; }

    public virtual string? Creator_ID { get; set; }

    public virtual DateTime? CreateTimeStart { get; set; }

    public virtual DateTime? CreateTimeEnd { get; set; }

    public virtual string? Editor { get; set; }

    public virtual string? Editor_ID { get; set; }

    public virtual DateTime? EditTimeStart { get; set; }

    public virtual DateTime? EditTimeEnd { get; set; }

    public virtual int? Deleted { get; set; }

    public virtual string? Question { get; set; }

    public virtual string? Answer { get; set; }

    public virtual string? LastLoginIP { get; set; }

    public virtual DateTime? LastLoginTimeStart { get; set; }

    public virtual DateTime? LastLoginTimeEnd { get; set; }

    public virtual string? LastMacAddress { get; set; }

    public virtual string? CurrentLoginIP { get; set; }

    public virtual DateTime? CurrentLoginTimeStart { get; set; }

    public virtual DateTime? CurrentLoginTimeEnd { get; set; }

    public virtual string? CurrentMacAddress { get; set; }

    public virtual DateTime? LastPasswordTimeStart { get; set; }

    public virtual DateTime? LastPasswordTimeEnd { get; set; }

    public virtual string? OpenId { get; set; }

    public virtual string? UnionId { get; set; }

    public virtual string? Status { get; set; }

    public virtual string? SubscribeWechat { get; set; }

    public virtual string? DeptPermission { get; set; }

    public virtual string? CorpUserId { get; set; }

    public virtual string? CorpStatus { get; set; }

    public virtual string? Role_ID { get; set; }

    public UserPagedDto()
    {
        IsExpire = false;
    }

    public UserPagedDto(int skipCount, int resultCount)
        : base(skipCount, resultCount)
    {
        IsExpire = false;
    }

    public UserPagedDto(PagerInfo pagerInfo)
        : base(pagerInfo)
    {
        IsExpire = false;
    }
}